#!/bin/sh

DEST_DIR="/var/modbus_logger/mnt"

case "$1" in
  mount)
  . /opt/modbus_logger/etc/settings
  DEVICE=$MOD_MODLOGGER_CACHE
  if [ ! -d "$DEST_DIR" ]; then
    mkdir -p $DEST_DIR
  fi
  
  if cat /proc/mounts | grep "$DEVICE" | grep "$DEST_DIR"".*rw" 2> /dev/null; then
    if [ ! -d "$DEST_DIR/$MOD_MODLOGGER_CACHE_DIR" ]; then
      mkdir -p $DEST_DIR/$MOD_MODLOGGER_CACHE_DIR
    fi
    echo "done"
    exit 0
  else
    if cat /proc/mounts | grep -q "$DEST_DIR"".*ro" 2> /dev/null; then
      echo "Filesystem is mounted ro"
    fi
  fi
  umount $DEST_DIR 2> /dev/null
  sleep 1
  mount $DEVICE $DEST_DIR 2> /dev/null
  RETVAL=$?
  if [ $RETVAL = 0 ]; then
    if [ ! -d "$DEST_DIR/$MOD_MODLOGGER_CACHE_DIR" ]; then
      mkdir -p $DEST_DIR/$MOD_MODLOGGER_CACHE_DIR
    fi
    echo "done"
  else 
    echo "failed"
  fi
    exit $RETVAL
  ;;
  umount)
  RETVAL=0
  if [ -d "$DEST_DIR" ]; then
    umount $DEST_DIR 2> /dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then
      echo "done"
    else
      echo "failed"
    fi
    rm -rf $DEST_DIR
    exit $RETVAL
  fi
  ;;
  *)
  echo "Usage: $0 {mount|umount}"
  exit 1
esac

